1. Technical Field
The present invention relates to a method for generating offset surface data. The present invention is particularly applicable, but not exclusively, to a method for generating offset surface data in order to manufacture a contoured product using data representing a free surface generated through, e.g., a CAD (Computer Aided Design) or CAM (Computer Aided Manufacturing) method.
2. Background Art
In the case where the contour of the object described by the free surface is designed using, e.g., CAD technique (so called, geometric modeling), the designer generally specifies a plurality of points (articulation points) in a three dimensional space through which the surface is to pass and uses a computer to calculate a boundary line network interconnecting the plurality of specified articulation points on the basis of desired vector functions. A surface represented by a 37 wire frame" is thus generated. In this way, a multiple number of framed spaces enclosed with boundary lines can be formed. Such processing is called frame processing.
The boundary line network formed through the above-described frame processing represents a rough sketch to be designed by the designer. If a surface which can be represented by predetermined vector functions using boundary lines enclosing each framed space can be interpolated, the free surface desired by the designer (which is impossible to specify by means of a quadratic function) can, as a whole, be generated.
The surface extended over each framed space forms a basic element constituting the whole surface and is called a "patch".
To provide a more natural outer contour for the generated entire free surface, a free surface generating method has been proposed in which a control side vector around a common boundary is set again so as to extend a patch to satisfy the condition of continuity of the osculating planes at the common boundary bridging the two frame spaces.
A Japanese Patent Application Non-Examined Publication No. Sho 62-135965 published on June 18, 1987 exemplifies the above-described free surface generating method.
The free surface generating method disclosed in the above-identified Japanese Patent Application Publication will be described below with reference to FIGS. 1 to 6 of this application.
In the case where two patches S.sub.(u,v)1 and S.sub.(u,v)2 are smoothly connected to each other, e.g., as shown in FIG. 1, control side vectors a.sup.1, a.sup.2, c.sup.1, and c.sup.2 so as to establish a condition of continuity of the osculating planes are, in principle, set on a common boundary COM 12 bridging adjoining patches S.sub.(u,v)1 and S.sub.(u,v)2 on the (basis of articulation points P.sub.(00), P.sub.(30)1, P.sub.(33)1, P.sub.(03), P.sub.(33)2, and P.sub.(30)2 derived through the frame processing internal control points P.sub.(11)1, P.sub.(12)1, P.sub.(11)2, and P.sub.(12)2 are set once again by means of these control side vectors.
If the above-described technique is applied to other common boundaries, the two patches S.sub.(u,v)1 and S.sub.(u,v)2 can be smoothly connected to other adjoining patches under the condition of continuity of the osculating planes. It is noted that "osculating plane" means a plane formed by tangent vectors in the u and v directions at each point of the common boundary. For example, when at each point on the common boundary COM 12 of FIG. 1, the osculating planes of the patches S.sub.(u,v)1 and S.sub.(u,v)2 are the same, the "condition of continuity of the osculating planes" is established.
In detail, the condition of continuity of the osculating planes at a point (o, v), wherein u=o, v=v, on the common boundary COM12, is determined as shown in FIG. 2. That is to say, for the one patch S.sub.(u,v)1 a normal vector nl for a tangent vector Ha in a direction traversing the common boundary COM12 (i.e., u direction)
and a tangent vector Hb in a direction along the common boundary COM12 (i.e., v direction) can be expressed in the following equation: EQU n.sub.1 =H.sub.a .times.H.sub.b ( 1)
In addition, for the other patch S.sub.(u,v)2 a normal vector n.sub.2 for a tangent vector Hc in a direction traversing the common boundary COM12 and a tangent vector H.sub.b in a direction along the common boundary COM12 can be expressed in the following equation: EQU n.sub.2 =H.sub.c .times.H.sub.b ( 2)
Since the two sets of tangent vectors Ha and
H.sub.b, and H.sub.c and H.sub.b must be present on the same planes, respectively, to establish the condition of continuity of the osculating planes under such a condition as described above, the two normal vectors n.sub.1 and n.sub.2 are consequently directed in the same sense.
To achieve this condition for the two normal vectors n.sub.1 and n.sub.2, the internal control points P.sub.(11)1, P.sub.(21)1, P.sub.(12)1, P.sub.(22)1 and P.sub.(11)2, P.sub.(21)2, P.sub.(12)2, P.sub.(22)2 may be set so as to establish the following equation: ##EQU1##
In the equations (3), .lambda.(v), .mu.(v), and .nu.(v) denote scalars.
Furthermore, the patches S.sub.(u,v)1 and S.sub.(u,v)2 are represented using a vector function S.sub.(u,v) of a cubic Bezier equation: EQU S.sub.(u,s) =(1-u+uE).sup.3 (1-v+vF).sup.3 P.sub.(00) ( 4)
It is noted that u and v denote parameters in the u direction and in the v direction and E and F denote shift operators.
It is also noted that a control point used in the description includes the articulation point and control point, each representing a boundary line in the framed space, and the internal control point representing the surface inside the patch.
Suppose that a product having a contour represented by the surface data on the multiple number of patches S.sub.(u,v) generated under the above-described technique is milled using, e.g., a milling machine of an NC (Numerical Control) machine tool. In this case, offset surface data S.sub.(u,v)OFF corresponding to a single patch S.sub.(u,v) is defined by the following equation: EQU S.sub.(u,v) OFF =S.sub.(u,v) +Rxn.sub.(u,v) ( 5)
The center of the tool of a milling machine may be supposed to move through a position expressed by the offset surface data S.sub.(u,v)OFF.
The above equation (5) represents the generation of the offset surface data S.sub.(u,v)OFF constituted by a plane translated in the normal direction by a translation operation variable expressed by Rxn.sub.(u,v) with respect to position data representing a surface of the patch S.sub.(u,v) which is a target to be milled. It is noted that R denotes the distance from the center position of the tool to the edge of a blade of the tool.
As shown in FIG. 4, the offset surface data S.sub.(u,v)OFF expressed by the equation (5) is supplied to a control unit of the machine tool, so that the tool is moved on a free surface expressed by the offset surface data S(u,v)OFF. Consequently, the blade edge moves on a surface parallel to the offset surface data S.sub.(u,v)OFF. Finally, the tool can mill the surface expressed by the patch S patch S.sub.(u,v).
In general, as described above with reference to FIG. 1, part of the contour surface of the product formed by sequentially connecting the two square patches S.sub.(u,v)1 and S.sub.(u,v)2 can easily be milled using the offset surface data S.sub.(u,v)OFF.
In detail, the offset surface data S.sub.(u,v)OFF1 and S(u,v)OFF2 derived on the basis of the mutually adjoining two patches S.sub.(u,v)1 and S(u,v)2 are expressed as follows: ##EQU2##
In the case as described above with reference to FIG. 1, if the mutually adjoining patches S.sub.(u,v)1 and S.sub.(u,v)2 are interconnected under the condition of continuity of the osculating planes, the normal vectors n.sub.(n ,v)1 and n.sub.(u,v)2 coincide with each other at the position of the common boundary COM12. The translation data Rxn.sub.(u,v)1 and Rxn.sub.(u,v)2 (equations (6) and (7)) supplied during the milling operation become equal to each other. Consequently, the tool can continue the milling operation, smoothly passing through the boundary position under the same condition as the milling operation for the surfaces of the patches S.sub.(u,v)1 and S.sub.(u,v)2.
However, as shown in FIGS. 5 and 6, in the case where, e.g., the tool mills a corner of the object to be milled, mutually adjoining two or three patches S.sub.(u,v)1 and S.sub.(u,v)2, and/or S.sub.(u,v)3 are connected in a discontinuous state in which the condition of continuity of the osculating planes is not established on the common boundaries COM12, COM23, and COM31. The offset surface data S.sub.(u,v)OFF1, S.sub.(u,v)OFF2, and/or S.sub.(u,v)OFF3 positions of the common boundaries COM12, COM23, and COM31 are broken off in the vicinity of the positions of the common boundaries COM12, COM23, and COM31. Consequently, a discontinuous space is generated in the vicinity of the above-described positions.
In FIG. 6, P.sub.CON12, P.sub.CON23, and P.sub.CON31 denote control points representing the patches S.sub.(u,v)1 and S.sub.(u,v)2, and S.sub.(u,v)3, respectively. The offset surface data S.sub.(u,v)OFF1, S.sub.(u,v)OFF2, and S.sub.(u,v)OFF3 for the three patches S.sub.(u,v)1 and S.sub.(u,v)2, and S.sub.(u,v)3 on these three control points can be calculated using the following equations: ##EQU3## In this way, the positional data P.sub.OFF1, P.sub.OFF2, and P.sub.OFF3 are calculated representing the offset surface data S.sub.(u,v)OFF1, S.sub.(u,v)OFF2, and S.sub.(u,v)OFF3 corresponding to the control points P.sub.CON12, P.sub.CON23, P.sub.CON31.
When, in these calculations, the normal line vectors at points on the common boundaries COM12, COM23, and COM31, corresponding to control points P.sub.(0)123, P.sub.(1)12 to P.sub.(4)12, P.sub.(1)23 to P.sub.(4)23, P.sub.(1)31 to P.sub.(4)31 representing the common boundaries COM12, COM23, and COM31, have different values in the patches S.sub.(u,v)1, S.sub.(u,v)2, and S.sub.(u,v)3, the portional data P.sub.(1)123, P.sub.(11)12 to P.sub..sub.(41)12 and P.sub..sub.(02)123, P.sub.(12)21 to P.sub.(42)21 on the offset surface data S.sub.(u,v)OFF1 and S.sub.(u,v)OFF2 derived on the basis of calculations using the equations (8), (9) and (10) represent mutually different positions according to the values of the normal line vectors described above. In addition, the positional data P.sub.(02)123, P.sub.(12)23 to P.sub.(42)23 and P.sub.(03)123, P.sub.(13)32 to P.sub.(43)32 on the surface data S.sub.(u,v)OFF2 and S.sub.(u,v)OFF3 represent mutually different positions. Furthermore, the positional data P.sub.(03)123, P.sub.(13)31 to P.sub.(43)31 and P.sub.(01)123, P.sub.(11)13 to P.sub.(41)13 on the surface data S.sub.(u,v)OFF3 and S.sub.(u,v)OFF1 represent mutually different positions.
No data specifying a movement trajectory of the tool can be obtained for the space SPC.sub.1 between position data P.sub.(01)123, P.sub.(11)12 to P.sub.(41)12 and P.sub.(02)123, P.sub.(12)21 to P.sub.(42)21, space SPC.sub.2 between position data P.sub.(02)123, P.sub.(12)23 to P.sub.(42)23 and P.sub.(03)123, P.sub.(13)32 to P.sub.(43)32, the space SPC.sub.3 between the position data P.sub.(03)123, P.sub.(13)31 to P.sub.(43)31 and P.sub.(01)123, P.sub.(11)13 to P.sub.(41)13, and the space SPC.sub.123 between a position of the point P.sub.(0)123 common to the three patches S.sub.(u,v)1, S.sub.(u,v)2 and S.sub.(u,v)3 forming the corner part and position data P.sub.(01)123, P.sub.(02)123, and P.sub.(03)123 (the spaces SPC.sub.1, SPC.sub.2, SPC.sub.3, and SPC.sub.123 are called discontinuous spaces).
In the discontinuous spaces SPC.sub.1, SPC.sub.2, SPC.sub.3, and SPC.sub.123, the tool which has continued the milling operation up to the positions of the common boundaries COM12, COM23, and COM31 of the patches S.sub.(u,v)1, S.sub.(u,v)2 and S.sub.(u,v)3 may operate to draw an abnormal movement trajectory in the vicinities of the common boundaries COM12, COM23, and COM31. If the abnormal movement trajectory is left unchanged, the tool may unnecessarily mill and cut out portions of the surfaces near the common boundaries COM12, COM23, and COM31 of the object to be processed by the milling machine.